package com.molichuxing.services.property;

/**
 * 支付日志类型
 *
 * @author zoumingyu
 */
public enum EscrowLogTypeEnum {
    /**
     * 统一下单（预支付单）
     */
    ORDER_PAY(1, "统一下单（预支付单）"),
    /**
     * 查询订单
     */
    ORDER_QUERY(2, "查询订单"),
    /**
     * 关闭订单
     */
    ORDER_CLOSE(3, "关闭订单"),
    /**
     * 申请退款
     */
    ORDER_REFUND(4, "申请退款"),
    /**
     * 查询退款
     */
    ORDER_REFUND_QUERY(5, "查询退款");

    private int value;

    private String name;

    EscrowLogTypeEnum(int value, String name) {
        this.value = value;
        this.name = name;
    }

    public int getValue() {
        return value;
    }

    public void setValue(int value) {
        this.value = value;
    }

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    /**
     * 通过value获取枚举的name
     *
     * @param value
     * @return
     */
    public static String getName(int value) {
        for (EscrowLogTypeEnum enumerate : EscrowLogTypeEnum.values()) {
            if (enumerate.getValue() == value) {
                return enumerate.name();
            }
        }
        return null;
    }

    /**
     * 通过枚举名获取枚举类
     *
     * @param enumerate
     * @return
     */
    public static EscrowLogTypeEnum getEnum(String enumerate) {
        try {
            return Enum.valueOf(EscrowLogTypeEnum.class, enumerate);
        } catch (Exception e) {

        }
        return null;
    }

    /**
     * 通过value获取枚举
     *
     * @param value
     * @return
     */
    public static EscrowLogTypeEnum getEnum(int value) {
        for (EscrowLogTypeEnum enumerate : EscrowLogTypeEnum.values()) {
            if (enumerate.getValue() == value) {
                return enumerate;
            }
        }
        return null;
    }
}
